The design of an integrated circuit is a complex process which requires substantial effort and time. Increasingly, integrated circuits are required for custom applications requiring memory (volatile and non-volatile) and logic. Two important factors in designing an integrated circuit are the design time and the reliability of the integrated circuit. While programmable logic arrays can be used in some simple applications to reduce design time, more complex functions must be designed from scratch, thus requiring a significant engineering effort.
In the prior art, a circuit designer generates a rough schematic of the circuit to determine what devices will be needed. Typically, the devices include capacitors, resistors, EPROMs, EEPROMs, thyristors, diodes, and transistors (including CMOS, DMOS, bipolar and drain-extended (DE) transistors)). Further, the parameters of the needed devices are defined. The circuit designer consults with the process flow engineer to develop a set of devices which will meet the criteria previously defined.
After deciding on the devices and the parameters, the process flow engineer determines a process flow for fabricating the devices. Importantly, the process flow designer will determine implant doses and diffusion times, high temperature oxidation times, sheet resistances, and a proper sequence of process steps. Once the process flow has been determined, a test wafer may be fabricated which forms the desired devices.
Defining a process flow is an inexact science, which is made more complex because of the process variations which normally occur during wafer fabrication. A typical wafer fabrication cycle is 3-4 months. Once the wafer is fabricated, the devices may be tested and compared to the predetermined parameters. Generally, one or more of the devices will not meet the specifications and changes to the process flow or the circuit design must be made and another wafer fabricated.
Repeated test wafer fabrications result in significant delays in the design of the integrated circuit. If problems occur, it is difficult to determine which processing steps are at the source of the problem. Further, it is extremely difficult to design a circuit which is tolerant to process variations, since the process variations cannot be accurately imitated. In some instances, it may be fruitful to force processing variations during the fabrication of the test wafers; however, for every intentional variation, several unintentional process variations will likely occur.
Thus, there is a need in the industry for a method of designing integrated circuits which reduces the design time and increases the reliability and resistance to process variations of the integrated circuits.